$(function () {
  // 实现通用设置

  // 如下方法在Ajax发送请求之前触发，可以在发送请求之前做一些设置
  var baseURL = 'http://ajax.frontend.itheima.net/'
  $.ajaxPrefilter(function (options) {
    // 所有的以api开头的接口都需要添加头信息
    if (/^my/.test(options.url)) {
      // 发送请求之前统一设置请求头
      options.headers = {
        // 通过请求头方式向后端传递用户的token信息
        Authorization: sessionStorage.getItem('mytoken')
      }
    }
    
    // 发送请求之前统一拼接完整路径
    options.url = baseURL + options.url
    
    // 发送请求之前触发
    options.beforeSend = function () {
      window.NProgress && window.NProgress.start()
    }

    // 如果接口的身份验证失败了，直接跳转到登录页面
    options.complete = function (res) {
      // 服务器响应完成后触发，无论成功还是失败都会触发
      if (res.responseJSON && res.responseJSON.status === 1 && res.responseJSON.message=== '身份认证失败！') {
        // 身份验证失败了，删除无效的token，然后跳转到登录页面
        sessionStorage.removeItem('mytoken')
        location.href = './login.html'
      }
      // 获取响应结果
      window.NProgress && window.NProgress.done()
    }
  })
})